#ifndef CVCOMMAND_H
#define CVCOMMAND_H

#include <QObject>

//TODO: разобрать, какие ещё нужны, какие лишние
enum class CommandResult
{
    BeforeStart,
    Active,
    Finished,
    Error
};

class CvCommand : public QObject
{
    Q_OBJECT
public:
    explicit CvCommand(QString command, QObject *parent = 0);
    CommandResult getStatus();
    static void setWorkingDir(QString dir);
    void finish();
    QString getResult();
    static void make(QString command, QObject  *parent, QString slot );
signals:
    void finished();
    void killThread();
public slots:
    void process();

private:
    static QString _workingDir;//TODO: Несколько директорий - по количеству рабочих проектов
    CommandResult _status;
    QString _command;
    QString _result;

};

#endif // CVCOMMAND_H
